package com.hospital.hospitalserver.mapper;

import com.hospital.hospitalserver.entity.UserInfo;
import com.hospital.hospitalserver.entity.Vo.*;
import org.apache.ibatis.annotations.Mapper;

/**
 * 用户模块的方法接口
 * */
@Mapper
public interface UserMapper {
    /**
     * 统一登录方法
     * 用户登录,支持各个角色
     * */
    public BaseUser findBaseUserByUsername(UserInfo userInfo);

    /**
     * 查询用户密码验证
     * 这里取的是加密后的字符串
     * */
    UserInfo findUserByUsername(UserInfo userInfo);

    /**
     * 根据用户角色查询特定角色的详细信息
     * 获取医生像信息
     * */
    Doctor findDoctorDetailByUsername(UserInfo userInfo);

    /**
     * 获取护士的详细信息
     * */
    Nurse findNurseDetailByUsername(UserInfo userInfo);

    /**
     * 获取行政人员的详细信息
     * */
    Manager findManagerDetailByUsername(UserInfo userInfo);

    /**
     * 获取药剂师的详细信息
     * */
    Pharmacist findPharmacistDetailByUsername(UserInfo userInfo);

    /**
     * 获取财务人员的详细信息
     * */
    Finance findFinanceDetailByUsername(UserInfo userInfo);

    /**
     * 添加账户信息，并返回自增主键 user_id
     * */
    Integer addUser(UserInfo userInfo);

}
